package com.summer.test.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import com.summer.user.model.User;


@Entity
@Table(name="system_loan_fee")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "entityCache")


/**
 * 产品费用表system_loan_fee
 * @author Administrator
 *
 */
public class SystemLoanFee implements java.io.Serializable{

	

	/**
	 * 产品费用参数配置
	 */
	private static final long serialVersionUID = -5629915787806571550L;

	/**
	 * 流水id
	 */
	private String id;
	/**借款产品id*/
	//private Integer systemLoanTypeId;
	
	/**
	 * 状态：1.使用中；2.停用*/
	private Integer status;
	/*
	*//**费用id*//*
	private Integer systemFeeId;
	*//**费用类型*/
	private Integer feeType;
	
	@Column(name="fee_TYPE")
	public Integer getFeeType() {
		return feeType;
	}
	public void setFeeType(Integer feeType) {
		this.feeType = feeType;
	}
	private SystemLoanType loanType;
	private SystemFee systemFee;
	
	
	/**费用*/
	private Double feeMoney;
	
	
	private User operUser;
	private Date operDatetime;
	private User updateUser;
	private Date updateDatetime;
	
	
	
	@Id
	@Column(name = "id", unique = true, nullable = false)
	public String getId() {
		return id;
	}
	
	@Column(name="status")
	public Integer getStatus() {
		return status;
	}
	
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "system_loan_type_id", nullable = false)
	public SystemLoanType getLoanType() {
		return loanType;
	}
	
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "system_fee_id", nullable = false)
	public SystemFee getSystemFee() {
		return systemFee;
	}
	@Column(name="fee_money")
	public Double getFeeMoney() {
		return feeMoney;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Oper_user", nullable = false)
	public User getOperUser() {
		return operUser;
	}
	@Column(name="Oper_datetime")
	public Date getOperDatetime() {
		return operDatetime;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Update_user", nullable = false)
	public User getUpdateUser() {
		return updateUser;
	}
	@Column(name="Update_datetime")
	public Date getUpdateDatetime() {
		return updateDatetime;
	}
	public void setId(String id) {
		this.id = id;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	public void setLoanType(SystemLoanType loanType) {
		this.loanType = loanType;
	}
	public void setSystemFee(SystemFee systemFee) {
		this.systemFee = systemFee;
	}
	public void setFeeMoney(Double feeMoney) {
		this.feeMoney = feeMoney;
	}
	public void setOperUser(User operUser) {
		this.operUser = operUser;
	}
	public void setOperDatetime(Date operDatetime) {
		this.operDatetime = operDatetime;
	}
	public void setUpdateUser(User updateUser) {
		this.updateUser = updateUser;
	}
	public void setUpdateDatetime(Date updateDatetime) {
		this.updateDatetime = updateDatetime;
	}
	
	
	
	
	
	
	
}
